<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Factura extends CI_Controller {
	//Metodo constructor de la clase
	function __construct(){
		parent::__construct();
	}
	
	//Este metodo no se puede llamar con ajax
	//Muestra un listado con todas las facturas de servicios de clientes pagas , impagas o canceladas pero NO las borradas (-1). En el caso de pasar un id de servicio de cliente
	//en la URL se muestra solo las factura del servicio de ese cliente
	function consultar($idSxC=null){
		//Primera comprobacion: Que el usuario tenga iniciada la sesion y que el ambito sea el panel administrativo
		if($this->session->userdata('sesionIniciada') == 'si' && $this->session->userdata('ambito') == 'admin' && ($this->session->userdata('tipoUsuarioLog') == '1' || $this->session->userdata('tipoUsuarioLog') == 'Admin Root')){
			//Segunda comprobacion: que idSxC sea numerico y mayor o igual que cero. Igual que cero quiere decir que hay que mostrar todas las facturas de todos los servicios de clientes existentes
			if(is_numeric($idSxC) && $idSxC>=0){
				////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
				//Cargo el modelo donde estan los datos de los servicios de clientes registrados para pedirle un listado con todos ellos
				$this->load->model('m_servicioxcliente');
				
				//Busco todos los servicios activos
				$listadoServicios = $this->m_servicioxcliente->buscarActivos();
				
				//Le paso el listado de todos los servicios de clientes a la vista para que los muestre en un combo de filtrado
				$datos['servicios'] = $listadoServicios;
				
				//Le paso a la vista el id del servicio de cliente seleccionado
				$datos['idSxCSel'] = $idSxC;
				
				////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
				//Restricciones a la consulta de la busqueda de facturas de servicios de clientes segun el servicio de cliente seleccionado
				////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
				
				$restriccion = "";
				if($idSxC!=0){
					$restriccion .= " AND factura.idSxC=".$idSxC;
				}
				
				////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
				//Cargo el modelo donde estan los datos de las facturas de servicios de clientes registrados
				$this->load->model('m_factura');
				
				//Busco todas las facturas de servicios de clientes, tanto pagas, impagas como canceladas, menos las borradas(-1)
				$listadoFacturas = $this->m_factura->buscar($restriccion);
				
				//Le paso el listado de todas las facturas de los servicios de clientes a la vista para que los muestre en una tabla
				$datos['facturas'] = $listadoFacturas;
				
				////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
				$totalCobrado = $this->m_factura->buscarTotal($restriccion);
										
				$datos['totalCobrado'] = $totalCobrado;
				
				////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	
				
				//Cargo la vista donde se muestra la tabla de facturas de servicios de clientes y la guardo en una variable para pasarsela a la vista principal
				$datosPrincipal['vista'] = $this->load->view('v_facturas', $datos, true);
				
				//Cargo la vista principal con los datos de la vista consultar facturas de servicios de clientes
				$this->load->view('v_admin', $datosPrincipal);
			} else {
				//No se han pasado los parametros minimos necesarios para consultar las facturas de servicios de clientes existentes.
				//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
				$this->session->sess_destroy();
				//Lo redirigimos al login ya que como no se llamo con ajax se puede redirigir.
				redirect(site_url("inicio"));
			}
		} else {
			//El usuario no tiene permiso para realizar esta accion.
			//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
			$this->session->sess_destroy();
			//Lo redirigimos al login ya que como no se llamo con ajax se puede redirigir.
			redirect(site_url("inicio"));
		}
	}
	
	//Este metodo no se puede llamar con ajax
	//Muestra un listado con todos los servicios de clientes con mayor cantidad de facturas impagas
	function consultarDeudores(){
		//Primera comprobacion: Que el usuario tenga iniciada la sesion y que el ambito sea el panel administrativo
		if($this->session->userdata('sesionIniciada') == 'si' && $this->session->userdata('ambito') == 'admin' && ($this->session->userdata('tipoUsuarioLog') == '1' || $this->session->userdata('tipoUsuarioLog') == 'Admin Root')){
			////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
			//Cargo el modelo donde estan los datos de las facturas de servicios de clientes registrados
			$this->load->model('m_factura');
			
			//Busco los servicios con mayor cantidad de facturas impagas
			$listadoFacturas = $this->m_factura->buscarDeudores();
			
			//Le paso el listado de todas las facturas de los servicios de clientes a la vista para que los muestre en una tabla
			$datos['facturas'] = $listadoFacturas;
			
			//Busco todas las facturas, tanto pagas como impagas para saber la cantidad que existen
			$listadoFacturasT = $this->m_factura->buscar();
			
			//Le paso el listado de todas las facturas para que saque la proporcion de pagas/total de facturas
			$datos['cantFacturas'] = $listadoFacturasT;
									
			////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	
			
			//Cargo la vista donde se muestra la tabla de facturas de servicios de clientes y la guardo en una variable para pasarsela a la vista principal
			$datosPrincipal['vista'] = $this->load->view('v_facturas_deudores', $datos, true);
			
			//Cargo la vista principal con los datos de la vista consultar facturas de servicios de clientes
			$this->load->view('v_admin', $datosPrincipal);			
		} else {
			//El usuario no tiene permiso para realizar esta accion.
			//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
			$this->session->sess_destroy();
			//Lo redirigimos al login ya que como no se llamo con ajax se puede redirigir.
			redirect(site_url("inicio"));
		}
	}
	
	//Este metodo solo se puede llamar con ajax
	function eliminar($idFactura=null, $idSxC=null){
		//Primera comprobacion: Que el usuario tenga iniciada la sesion y que el ambito sea el panel administrativo
		if($this->session->userdata('sesionIniciada') == 'si' && $this->session->userdata('ambito') == 'admin' && ($this->session->userdata('tipoUsuarioLog') == '1' || $this->session->userdata('tipoUsuarioLog') == 'Admin Root')){
			//Segunda comprobacion: Que idFactura sea numerico y mayor que cero. Ademas que idSxC sea numerico y mayor o igual que cero.			
			if(is_numeric($idFactura) && $idFactura>0 && is_numeric($idSxC) && $idSxC>=0){
				//Cargo el modelo donde estan los datos de las facturas de servicios de clientes registrados
				$this->load->model('m_factura');
				
				//Elimino a la factura del servicio de cliente pasado por la url
				$respuesta = $this->m_factura->eliminar($idFactura, $this->session->userdata('idUsuarioLog'));
				
				////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
				//Cargo el modelo donde estan los datos de los servicios de clientes registrados para pedirle un listado con todos ellos
				$this->load->model('m_servicioxcliente');
				
				//Busco todos los servicios activos
				$listadoServicios = $this->m_servicioxcliente->buscarActivos();
				
				//Le paso el listado de todos los servicios de clientes a la vista para que los muestre en un combo de filtrado
				$datos['servicios'] = $listadoServicios;
				
				//Le paso a la vista el id del servicio de cliente seleccionado
				$datos['idSxCSel'] = $idSxC;
				
				////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
				//Restricciones a la consulta de la busqueda de facturas de servicios de clientes segun el servicio de cliente seleccionado
				////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
				
				$restriccion = "";
				if($idSxC!=0){
					$restriccion .= " AND factura.idSxC=".$idSxC;
				}
				
				////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
				//Busco todas las facturas de servicios de clientes, tanto pagas, impagas como canceladas, menos las borradas(-1)
				$listadoFacturas = $this->m_factura->buscar($restriccion);
				
				//Le paso el listado de todas las facturas de los servicios de clientes a la vista para que los muestre en una tabla
				$datos['facturas'] = $listadoFacturas;
				
				////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
				$totalCobrado = $this->m_factura->buscarTotal($restriccion);
										
				$datos['totalCobrado'] = $totalCobrado;
				
				////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	
				
				//Cargo la vista donde se muestra la tabla de facturas de servicios de clientes
				$this->load->view('v_facturas', $datos);
			} else {
				//No se han pasado todos los parametros necesarios para borrar un registro
				//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
				$this->session->sess_destroy();
				echo("No se han pasado todos los parametros necesarios para borrar una factura de servicio de cliente");
			}			
		} else {
			//El usuario no tiene permiso para realizar esta accion.
			//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
			$this->session->sess_destroy();
			echo("No tiene permiso para borrar una factua de servicio de cliente");
		}
	}
	
	//Esto metodo no se puede llamar con ajax
	function abrirPantallaCrear($idSxC=null){
	    //Primera comprobacion: Que el usuario tenga iniciada la sesion y que el ambito sea el panel administrativo
		if($this->session->userdata('sesionIniciada') == 'si' && $this->session->userdata('ambito') == 'admin' && ($this->session->userdata('tipoUsuarioLog') == '1' || $this->session->userdata('tipoUsuarioLog') == 'Admin Root')){							
			//Segunda comprobacion: que idSxC sea numerico y mayor o igual que cero. Igual que cero quiere decir que no hay que seleccionar ningun servicio de cliente.
			if(is_numeric($idSxC) && $idSxC>=0){
				////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
				//Cargo el modelo donde estan los datos de los servicios de clientes registrados para pedirle un listado con todos ellos
				$this->load->model('m_servicioxcliente');
				
				//Busco todos los servicios de clientes activos
				$listadoServicios = $this->m_servicioxcliente->buscarActivos();
				
				//Le paso el listado de todos los servicios de clientes a la vista para que los muestre en un combo
				$datos['servicios'] = $listadoServicios;
				
				//Le paso a la vista el id del servicio de cliente seleccionado
				$datos['idSxCSel'] = $idSxC;
				
				////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
				//Busco al numero de factura siguiente (Solo es ilustrativo porque podria terminar siendo otro al final)
				//Cargo el modelo donde estan los datos de la configuracion
				$this->load->model('m_configuracion');
				
				//Busco los datos de configuracion
				$configuracion = $this->m_configuracion->getConfiguracion();
				
				//Le paso la configuracion a la vista
				$datos['configuracion'] = $configuracion;
				
				////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
				//Cargo la vista donde se muestra el formulario para crear una factura de servicio de cliente y la guardo en una variable para pasarsela a la vista principal
				$datosPrincipal['vista'] = $this->load->view('v_facturas_crear',$datos, true);
				
				//Cargo la vista principal con los datos de la vista para crear una factura de servicio de cliente
				$this->load->view('v_admin', $datosPrincipal);
			} else {
				//No se han pasado todos los parametros necesarios para crear un registro
				//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
				$this->session->sess_destroy();
				//Lo redirigimos al login ya que como no se llamo con ajax se puede redirigir.
				redirect(site_url("inicio"));
			}
		} else {
			//El usuario no tiene permiso para realizar esta accion.
			//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
			$this->session->sess_destroy();
			//Lo redirigimos al login ya que como no se llamo con ajax se puede redirigir.
			redirect(site_url("inicio"));
		}
	}
	
	//Esto metodo no se puede llamar con ajax
	function crear(){
		//Primera comprobacion: Que el usuario tenga iniciada la sesion y que el ambito sea el panel administrativo
		if($this->session->userdata('sesionIniciada') == 'si' && $this->session->userdata('ambito') == 'admin' && ($this->session->userdata('tipoUsuarioLog') == '1' || $this->session->userdata('tipoUsuarioLog') == 'Admin Root')){
			//Segunda comprobacion: Que se haya pasado por post la fecha, servicio, total y estado de la facura del servicio de cliente a crear
			if($this->input->post('fecha',true) != "" &&
			   is_numeric($this->input->post('sxc',true)) && $this->input->post('sxc',true)>0 && 
			   is_numeric($this->input->post('total',true)) && $this->input->post('total',true)>=0 && 
			   ($this->input->post('estado',true) == '1' || $this->input->post('estado',true) == '0' || $this->input->post('estado',true) == '2')){
				
				//Cargo el modelo donde estan los datos de las facturas de los servicios x clientes
				$this->load->model('m_factura');
				
				//Separamos la fecha en año y mes. Sirve para la automatizacion de las cobranzas. Los delimitadores pueden ser barra, punto o guión.
				$fecha = $this->input->post('fecha',true);
				list($anio, $mes, $día) = split('[/.-]', $fecha);
								
				//Creamos la factura del servicio al cliente
				$resultado = $this->m_factura->crear($this->input->post('sxc',true),
													  $this->m_configuracion->getConfiguracion()->row()->numeroFacturaSiguiente,
													  $this->input->post('fecha',true),													 
													  $mes,
													  $anio,
													  $this->input->post('total',true),
													  $this->input->post('gananciaReferente',true),
													  $this->input->post('estado',true), $this->session->userdata('idUsuarioLog'));
				
				if($resultado == 1){
					$ultimaFacturaCreada = $this->db->insert_id();
															
					//Cargo el modelo para cargar un mail a la cola
					$this->load->model('m_cola_mail');
					
					//Creamos el mail. idTabla, idRegistro, tipoOperacion, estado
					$resultado = $this->m_cola_mail->crear(3, $ultimaFacturaCreada, 1, 2, $this->session->userdata('idUsuarioLog'));
					
					echo("<script> alert('La factura del servicio se ha creado correctamente.');</script>");
				}else{
					echo("<script> alert('La factura del servicio no se ha creado. Ha habido un error.');</script>");
				}
			} else {
				//No se han pasado los parametros minimos para crear un registro.
				//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
				$this->session->sess_destroy();
			}
		} else {
			//El usuario no tiene permiso para realizar esta accion.
			//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
			$this->session->sess_destroy();
		}
	}
	
	//Esto metodo no se puede llamar con ajax
	function abrirPantallaModificar($idFactura=null){
	    //Primera comprobacion: Que el usuario tenga iniciada la sesion y que el ambito sea el panel administrativo
		if($this->session->userdata('sesionIniciada') == 'si' && $this->session->userdata('ambito') == 'admin' && ($this->session->userdata('tipoUsuarioLog') == '1' || $this->session->userdata('tipoUsuarioLog') == 'Admin Root')){
			//Segunda comprobacion: Que idFactura pasado sea numerico y mayor que cero.
			if(is_numeric($idFactura) && $idFactura>0){
				//Cargo el modelo donde estan los datos de las facturas de los servicios de clientes registrados
				$this->load->model('m_factura');
				
				//Busco a la factura de servicio de cliente que hay que modificar
				$factura = $this->m_factura->get($idFactura);
				
				//Tercera comprobacion: Que la factura pasada por la url sea existente
				if($factura->num_rows() == 1){
					//Le paso la factura a modificar a la vista
					$datos['facturaSel'] = $factura;
									
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Cargo el modelo donde estan los datos de los servicios de clientes registrados para pedirle un listado con todos ellos
					$this->load->model('m_servicioxcliente');
					
					//Busco todos los servicios de clientes y no solo los activos
					$listadoServicios = $this->m_servicioxcliente->buscar();
					
					//Le paso el listado de todos los servicios de clientes a la vista para que los muestre en un combo
					$datos['servicios'] = $listadoServicios;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Cargo la vista donde se muestra el formulario para modificar una factura de servicio de cliente y la guardo en una variable para pasarsela a la vista principal
					$datosPrincipal['vista'] = $this->load->view('v_facturas_modificar',$datos, true);
					
					//Cargo la vista principal con los datos de la vista para modificar una factura
					$this->load->view('v_admin', $datosPrincipal);
				} else {
					//El registro no existe.
					//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
					$this->session->sess_destroy();
					//Lo redirigimos al login ya que como no se llamo con ajax se puede redirigir.
					redirect(site_url("inicio"));
				}
			} else {
				//No se han pasado los parametros minimos necesarios para modificar una factura
				//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
				$this->session->sess_destroy();
				//Lo redirigimos al login ya que como no se llamo con ajax se puede redirigir.
				redirect(site_url("inicio"));
			}
		} else {
			//El usuario no tiene permiso para realizar esta accion.
			//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
			$this->session->sess_destroy();
			//Lo redirigimos al login ya que como no se llamo con ajax se puede redirigir.
			redirect(site_url("inicio"));
		}
	}
	
	//Esto metodo no se puede llamar con ajax
	function modificar($idFactura=null){
	    //Primera comprobacion: Que el usuario tenga iniciada la sesion y que el ambito sea el panel administrativo
		if($this->session->userdata('sesionIniciada') == 'si' && $this->session->userdata('ambito') == 'admin' && ($this->session->userdata('tipoUsuarioLog') == '1' || $this->session->userdata('tipoUsuarioLog') == 'Admin Root')){	   
			//Segunda comprobacion: Que se haya pasado por post el monto y estado de la factura a modificar
			if(is_numeric($idFactura) && $idFactura>0 && is_numeric($this->input->post('total',true)) && $this->input->post('total',true)>=0 &&
			   ($this->input->post('estado',true) == '1' || $this->input->post('estado',true) == '0' || $this->input->post('estado',true) == '2')){
				
				//Cargo el modelo donde estan los datos de las facturas
				$this->load->model('m_factura');
				
				//Modificamos la factura
				$resultado = $this->m_factura->modificar($idFactura,
														  $this->input->post('total',true),
														  $this->input->post('gananciaReferente',true),		
														  $this->input->post('estado',true));
				if($resultado == 1){								
					//Cargo el modelo para cargar un mail a la cola
					$this->load->model('m_cola_mail');
					
					//Creamos el mail. idTabla, idRegistro, idCliente, tipoOperacion, estado
					$resultado = $this->m_cola_mail->crear(3, $idFactura, 2, 2, $this->session->userdata('idUsuarioLog'));					
					
					echo("<script> alert('La factura del servicio se ha modificado correctamente.');</script>");
				} else{
					echo("<script> alert('La factura del servicio no se ha modificado. Ha habido un error o los datos permanecieron iguales.');</script>");
				}
			} else {
				//No se han pasado los parametros minimos necesarios para modificar un registro.
				//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
				$this->session->sess_destroy();
			}
		} else {
			//El usuario no tiene permiso para realizar esta accion.
			//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
			$this->session->sess_destroy();
		}
	}
	
	//Este metodo no se puede llamar con ajax
	//Muestra un listado con todas las facturas de los servicios del cliente pasado por la url activos o inactivos pero NO los borrados (-1).
	function misFacturas($idCliente=null){
		//Primera comprobacion: Que el usuario tenga iniciada la sesion y que el ambito sea el panel administrativo
		if($this->session->userdata('sesionIniciada') == 'si' && $this->session->userdata('ambito') == 'admin' && $this->session->userdata('tipoUsuarioLog') == '2' && $this->session->userdata('idClienteLog') == $idCliente){
			//Segunda comprobacion: que idCliente sea numerico y mayor que cero.
			if(is_numeric($idCliente) && $idCliente>0){
				////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
				//Restricciones a la consulta de la busqueda de facturas de servicios de clientes segun el cliente pasado por la url
				////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
				
				$restriccion = "";
				if($idCliente!=0){
					$restriccion .= " AND cliente.idCliente=".$idCliente;
				}
				
				////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
				//Cargo el modelo donde estan los datos de las facturas de los servicios de clientes registrados
				$this->load->model('m_factura');
										
				//Busco todas las facturas de los servicios del cliente, tanto activos como inactivos, menos los borrados(-1)
				$listadoFacturas = $this->m_factura->buscar($restriccion);
				
				//Le paso el listado de todas las facturas de los servicios del clientes a la vista para que los muestre en una tabla
				$datos['facturas'] = $listadoFacturas;
				
				////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	
				
				//Cargo la vista donde se muestra la tabla de facturas de los servicios del cliente y la guardo en una variable para pasarsela a la vista principal
				$datosPrincipal['vista'] = $this->load->view('v_facturas_misfacturas', $datos, true);
				
				//Cargo la vista principal con los datos de la vista consultar facturas de servicios del cliente
				$this->load->view('v_admin', $datosPrincipal);
			} else {
				//No se han pasado los parametros minimos necesarios para consultar las factutas de servicios del cliente.
				//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
				$this->session->sess_destroy();
				//Lo redirigimos al login ya que como no se llamo con ajax se puede redirigir.
				redirect(site_url("inicio"));
			}
		} else {
			//El usuario no tiene permiso para realizar esta accion.
			//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
			$this->session->sess_destroy();
			//Lo redirigimos al login ya que como no se llamo con ajax se puede redirigir.
			redirect(site_url("inicio"));
		}
	}
	
	//Este metodo no se puede llamar con ajax
	//Muestra un listado con todas las facturas de un servicio del cliente pasado por la url activos o inactivos pero NO los borrados (-1).
	function misFacturasPorServicio($idSxC=null){
		//Primera comprobacion: Que el usuario tenga iniciada la sesion y que el ambito sea el panel administrativo
		if($this->session->userdata('sesionIniciada') == 'si' && $this->session->userdata('ambito') == 'admin' && $this->session->userdata('tipoUsuarioLog') == '2'){
			//Segunda comprobacion: que idSxC sea numerico y mayor que cero.
			if(is_numeric($idSxC) && $idSxC>0){
				//Cargo el modelo donde estan los datos de los servicios de clientes registrados
				$this->load->model('m_servicioxcliente');
				
				//Busco al servicio de cliente que hay que ver las facturas para ver si existe realmente
				$servicio = $this->m_servicioxcliente->get($idSxC);
				
				//Tercera comprobacion: Que el servicio de cliente pasado por la url sea existente y del cliente logeado
				if($servicio->num_rows() == 1 && $this->session->userdata('idClienteLog') == $servicio->row()->idCliente){				
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Restricciones a la consulta de la busqueda de facturas de servicios del cliente segun el servicio pasado por la url
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					
					$restriccion = "";
					if($idSxC!=0){
						$restriccion .= " AND factura.idSxC=".$idSxC;
					}
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Cargo el modelo donde estan los datos de las facturas de los servicios de clientes registrados
					$this->load->model('m_factura');
											
					//Busco todas las facturas de los servicios del cliente, tanto activos como inactivos, menos los borrados(-1)
					$listadoFacturas = $this->m_factura->buscar($restriccion);
					
					//Le paso el listado de todas las facturas de los servicios del clientes a la vista para que los muestre en una tabla
					$datos['facturas'] = $listadoFacturas;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	
					
					//Cargo la vista donde se muestra la tabla de facturas de los servicios del cliente y la guardo en una variable para pasarsela a la vista principal
					$datosPrincipal['vista'] = $this->load->view('v_facturas_misfacturas', $datos, true);
					
					//Cargo la vista principal con los datos de la vista consultar facturas de servicios del cliente
					$this->load->view('v_admin', $datosPrincipal);
				} else {
					//El registro no existe.
					//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
					$this->session->sess_destroy();
					//Lo redirigimos al login ya que como no se llamo con ajax se puede redirigir.
					redirect(site_url("inicio"));
				}
			} else {
				//No se han pasado los parametros minimos necesarios para consultar las factutas de servicios del cliente.
				//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
				$this->session->sess_destroy();
				//Lo redirigimos al login ya que como no se llamo con ajax se puede redirigir.
				redirect(site_url("inicio"));
			}
		} else {
			//El usuario no tiene permiso para realizar esta accion.
			//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
			$this->session->sess_destroy();
			//Lo redirigimos al login ya que como no se llamo con ajax se puede redirigir.
			redirect(site_url("inicio"));
		}
	}
}

/* End of file servicioxcliente.php */
/* Location: ./application/controllers/servicioxcliente.php */